The present inventive subject matter relates to the imaging arts. It finds particular application in conjunction with so-called Multi-Function Devices MFDs, and will be described with particular reference thereto. However, one of ordinary skill in the art will appreciate that it is also amenable to other like applications, e.g., copiers, printers, fax machines, scanners, etc.
In general, an MFD operates as a plurality of different imaging devices, e.g., as a printer, copier, fax machine, and/or scanner. Currently, MFDs often use what is known as a Mixed Raster Content (MRC) model within a file container (usually a Portable Document Format (PDF)), for example, for scan-to-export functions such as faxing or scanning a document into an electronic image file.
The MRC representation of documents is generally versatile. The MRC representation enables the use of multiple “planes” or “layers” for the purpose of representing the content of documents. In fact, the MRC representation is becoming increasingly important in the marketplace. For example, it is well established as a main color-fax standard.
In an MRC representation, an image is represented by more than one image planes or layers. One advantage of the MRC representation of documents is to provide an efficient way to store, transmit, and manipulate large digital color documents. The method exploits the properties of the human vision system, where the ability to distinguish small color variations is greatly reduced in the presence of high-contrast edges. The edge information is normally separated from the smoothly varying color information, and encoded in one of the planes. Following a careful separation, the various planes can be independently compressed using standard compression schemes with good compression and high quality at the same time.
The MRC representation generally comprises up to four independent planes: a foreground plane, a background plane, a selector plane, and an optional rendering hints plane. In the most general case, there is optionally multiple foreground and selector pairs at higher levels. However, in most applications, the representation is limited to three or four planes. The background plane is typically used for storing continuous-tone information such as pictures and/or smoothly varying background colors. The selector plane normally holds the image of text (binary) as well as other edge information (e.g., line art drawings). The foreground plane usually holds the color of the corresponding text and/or line art. However, the MRC representation only specifies the planes and their associated compression methods. It does not otherwise restrict nor enforce the content of each of the planes. The content of each of the planes may be defined appropriately by an implementation of the MRC representation.
The MRC structure also allows for a fourth plane, the rendering hints plane, which is used for communicating additional information about the content of the document. For example, the rendering hints plane may carry the ICC (International Color Consortium) color hints that identify the best color matching strategy for the various objects on the page.
The foreground and background planes are typically defined to be two full-color planes, e.g., (L, a, b) or YCC planes. The selector plane is defined as a binary (e.g., 1-bit deep) plane. The rendering hints plane is typically restricted to an 8-bit plane. One exemplary MRC representation specifies that the foreground and background are to be JPEG (Joint Photographic Experts Group) compressed, and that the selector plane is to be ITU-G4 compressed (standard Group 4 facsimile compression). The rendering hints plane is considered to be optional, but if one is used, a compression scheme similar to the Lempel-Zev-Welch (LZW) scheme may be used for its compression. In general, the foreground, background, selector and rendering hints planes can all be at different resolutions.
The method for assembling back a “segmented” MRC image from its components (i.e., planes) is by “pouring” the foreground colors through the selector plane “mask” on top of the background plane, thus overwriting the previous content of the background plane at these locations. In other words, the assembly is achieved by multiplexing between the foreground and background information on a pixel by pixel basis, based on the binary control signal of the selector plane. For example, if the selector value is 1, the content of foreground is used; otherwise (i.e., for selector value=0) the content of background is used. The multiplexing operation is repeated on a pixel by pixel basis until all of the output pixels have been defined.
While generally MRC approach in general affords an efficient encoding of the raster data, the MRC model still exhibits drawbacks in some respects. For example, it may still be further enhanced to provide yet better compression in certain instances. Accordingly, a new and improved method for compression of MRC representations in an MFD is disclosed that overcomes the aforementioned drawbacks and others.